﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using CTEM.Controllers.BUS;
using CTEM.Models;

namespace CTEM.ModuleForms.ManageReport
{
    public partial class LedgerReportSetting : DevExpress.XtraEditors.XtraForm
    {

        private readonly LedgerBUS _empBus = new LedgerBUS();
        public delegate void InformationLedgerDelegate(long kindID, string type, DateTime Fromday, DateTime ToDay);
        //declare the event using the delegate
        public event InformationLedgerDelegate AskInformationChanged;
        int flag = -1;
        public LedgerReportSetting()
        {
            InitializeComponent();
            loadData();
        }
        public void loadData()
        {
            List<SendTypeDTO> listTyle;
            listTyle = _empBus.LoadSendType();
            SendTypeDTO tyle = new SendTypeDTO();
            tyle.SpendTypeName = "Chọn Tất Cả";
            tyle.SpendTypeID = -1;
            listTyle.Add(tyle);
            bindingSource1.DataSource = listTyle;
        }

        private void btExportReport_Click(object sender, EventArgs e)
        {
           
            SendTypeDTO kind;
            string type = "";
            type = cbbType.Text;
            if (flag == -1)
            {
                kind = new SendTypeDTO();
                kind.SpendTypeID = -1;
            }
            else
              kind = (SendTypeDTO)cbKind.SelectedValue;

            if ((!type.Equals("Phiếu Chi")) && (!type.Equals("Phiếu Thu")))
            {
                MessageBox.Show("Bạn chưa chọn loai chi cho phiếu chi"); ;
            }
            else if (kind == null)
            {
                MessageBox.Show("Bạn chưa chọn báo cáo cho phiếu thu hay phiếu chi.");
            }
            else if (FormTime.Value == null)
            {
                MessageBox.Show("Bạn chưa chọn từ ngày xuất báo cáo");
            }
            else if (ToTime.Value == null)
            {
                MessageBox.Show("Bạn chưa chọn Đến ngày xuất báo cáo");
            }
            else if (ToTime.Value < FormTime.Value )
            {
                MessageBox.Show("khoảng thời gian bạn chọn không đúng");
            }
            else if (AskInformationChanged != null)
            {
                if (type.Equals("Phiếu Chi"))
                {
                    type = "Chi";
                }
                else
                    type = "Thu";
                AskInformationChanged(kind.SpendTypeID,type, FormTime.Value, ToTime.Value);

            }
            Hide();
        }

        private void cbbType_SelectedValueChanged(object sender, EventArgs e)
        {
            string type = "";
            type = cbbType.Text;
            if (type.Equals("Phiếu Chi"))
            {
                cbKind.Enabled = true;
                flag = 1;
            }
            else
            {
                cbKind.Enabled = false;
                flag = -1;
       
            }
        }


      

    }
}